Apache POI ব্যবহার করে আপনি PowerPoint ফাইলের মধ্যে embedded media (যেমন, ছবি, অডিও, ভিডিও ইত্যাদি) পরিচালনা এবং কাস্টমাইজ করতে পারেন। যদিও Apache POI-তে এর সরাসরি সমর্থন সীমিত, তবে আপনি XMLSlideShow এবং XSLFSlide ক্লাস ব্যবহার করে ছবির মতো বিভিন্ন মিডিয়া ফাইল অন্তর্ভুক্ত করতে পারেন।
PowerPoint ফাইলের মধ্যে embedded media যোগ এবং কাস্টমাইজ করার সময়, সাধারণত মিডিয়া ফাইলগুলোকে পাথ বা URI হিসেবে অন্তর্ভুক্ত করা হয়, এবং এগুলির স্টাইল, আকার ও অবস্থান নির্ধারণ করা হয়।
এখানে embedded media (ছবি, অডিও) যুক্ত করার এবং কাস্টমাইজ করার উদাহরণ দেয়া হলো।
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFPictureData;
import java.awt.*;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class AddImageExample {
public static void main(String[] args) throws IOException {
// একটি নতুন PowerPoint ফাইল তৈরি করা
XMLSlideShow ppt = new XMLSlideShow();
// একটি স্লাইড তৈরি করা
XSLFSlide slide1 = ppt.createSlide();
// ছবি যোগ করার উদাহরণ
String imagePath = "path/to/image.jpg"; // ছবি ফাইলের পাথ
byte[] pictureData = getImageData(imagePath);
// ছবি ফাইলকে PowerPoint ফাইলে যোগ করা
XSLFPictureData picture = ppt.addPicture(pictureData, XSLFPictureData.PictureType.JPEG);
// স্লাইডে ছবির অবস্থান এবং আকার নির্ধারণ করা
slide1.createPicture(picture, new Rectangle(100, 100, 400, 300));
// PowerPoint ফাইল সেভ করা
try (FileOutputStream out = new FileOutputStream("PowerPointWithImage.pptx")) {
ppt.write(out);
}
System.out.println("PowerPoint file with image added successfully!");
}
// ছবি ফাইলের বাইট অ্যারে পাওয়ার জন্য মেথড
private static byte[] getImageData(String imagePath) throws IOException {
FileInputStream imageStream = new FileInputStream(imagePath);
byte[] bytes = new byte[imageStream.available()];
imageStream.read(bytes);
imageStream.close();
return bytes;
}
}
Rectangle(100, 100, 400, 300)
দিয়ে ছবির স্থান এবং আকার (পিক্সেলে) নির্ধারণ করা হয়েছে।অডিও ফাইল অন্তর্ভুক্ত করার জন্য POI সরাসরি সমর্থন না দিলেও, আপনি PowerPoint ফাইলের মধ্যে audio ফাইলের লিঙ্ক যোগ করতে পারেন। PowerPoint অ্যাপ্লিকেশন যখন ফাইলটি খুলবে, তখন এটি সেই অডিও ফাইলকে সংশ্লিষ্ট লিঙ্ক থেকে লোড করবে।
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFShape;
import java.io.FileOutputStream;
import java.io.IOException;
public class AddAudioLinkExample {
public static void main(String[] args) throws IOException {
// একটি নতুন PowerPoint ফাইল তৈরি করা
XMLSlideShow ppt = new XMLSlideShow();
// একটি স্লাইড তৈরি করা
XSLFSlide slide = ppt.createSlide();
// অডিও ফাইলের লিঙ্ক অন্তর্ভুক্ত করার জন্য একটি স্লাইড শেপ তৈরি
XSLFShape audioLink = slide.createAutoShape();
audioLink.setAnchor(new java.awt.Rectangle(100, 100, 200, 50));
audioLink.setText("Click here to play audio!");
// অডিও ফাইলের লিঙ্ক বা URI নির্ধারণ করা
String audioFilePath = "path/to/audio.mp3";
audioLink.setHyperlink(audioFilePath);
// PowerPoint ফাইল সেভ করা
try (FileOutputStream out = new FileOutputStream("PowerPointWithAudio.pptx")) {
ppt.write(out);
}
System.out.println("PowerPoint file with audio link added successfully!");
}
}
PowerPoint ফাইলে ভিডিও অন্তর্ভুক্ত করতে পারা সরাসরি সমর্থিত নয়, তবে আপনি Hyperlink ব্যবহার করে ভিডিও ফাইলের লিঙ্ক অন্তর্ভুক্ত করতে পারেন। এই লিঙ্কে ক্লিক করলে ভিডিও প্লেয়ার ওপেন হবে।
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFShape;
import java.io.FileOutputStream;
import java.io.IOException;
public class AddVideoLinkExample {
public static void main(String[] args) throws IOException {
// একটি নতুন PowerPoint ফাইল তৈরি করা
XMLSlideShow ppt = new XMLSlideShow();
// একটি স্লাইড তৈরি করা
XSLFSlide slide = ppt.createSlide();
// ভিডিও ফাইলের লিঙ্ক অন্তর্ভুক্ত করার জন্য একটি স্লাইড শেপ তৈরি
XSLFShape videoLink = slide.createAutoShape();
videoLink.setAnchor(new java.awt.Rectangle(100, 100, 200, 50));
videoLink.setText("Click here to play video!");
// ভিডিও ফাইলের লিঙ্ক বা URI নির্ধারণ করা
String videoFilePath = "path/to/video.mp4";
videoLink.setHyperlink(videoFilePath);
// PowerPoint ফাইল সেভ করা
try (FileOutputStream out = new FileOutputStream("PowerPointWithVideo.pptx")) {
ppt.write(out);
}
System.out.println("PowerPoint file with video link added successfully!");
}
}
Apache POI-তে PowerPoint ফাইলে embedded media (ছবি, অডিও, ভিডিও) যোগ এবং কাস্টমাইজেশন করা সম্ভব। আপনি ছবি ফাইল যোগ করতে XSLFPictureData, অডিও বা ভিডিও ফাইলের জন্য Hyperlink ব্যবহার করতে পারেন। PowerPoint ফাইলের সাথে এই মিডিয়া সংযুক্ত করার সময় তাদের অবস্থান এবং আকার কাস্টমাইজ করা যায়, যা ব্যবহারকারীদের জন্য ইন্টারঅ্যাকটিভ অভিজ্ঞতা তৈরি করে।
common.read_more